ECMAScript 2020
JavaScript 2020 இல் புதிய அம்சங்கள்
| அம்சம் | விளக்கம் |
|---|---|
BigInt |
ஒரு JavaScript எண்ணில் சேமிக்க முடியாத பெரிய மதிப்புகளை சேமிக்கிறது |
String matchAll() |
ஒரு சரத்தில் ஒரு சரத்தின் அனைத்து நிகழ்வுகளையும் தேடுகிறது |
Promise.allSettled() |
Promiseகளை உள்ளீடாக எடுத்து ஒற்றை Promise ஐத் திருப்பித் தரும் |
Dynamic Import |
இயக்க நேரத்தில் JavaScript தொகுதிகளை ஏற்றுகிறது |
globalThis |
குறியீட்டு சூழலில் இருந்து சுயாதீனமான உலகளாவிய பொருளைக் குறிக்கிறது |
import.meta |
ஒரு தொகுதியின் அடிப்படை URL ஐக் குறிக்கும் ஒரு பொருளைத் திருப்பித் தரும் |
Namespace Exports |
முதலில் இறக்குமதி செய்யாமல் உங்கள் சொந்த தொகுதியிலிருந்து முழுமையான பெயர்வெளியை ஏற்றுமதி செய்யலாம் |
2020 இல் புதிய JavaScript ஆபரேட்டர்கள்
| ஆபர் | விளக்கம் |
|---|---|
?? |
Nullish coalescing முதல் வாதம் nullish அல்ல என்றால் திருப்பித் தரும் |
?. |
Optional chaining ஒரு பொருள் undefined அல்லது null என்றால் undefined திருப்பித் தரும் |
&&= |
Logical AND assignment முதல் மதிப்பு true என்றால் இரண்டாவது மதிப்பை ஒதுக்குகிறது |
||= |
Logical OR assignment முதல் மதிப்பு false என்றால் இரண்டாவது மதிப்பை ஒதுக்குகிறது |
??= |
Nullish coalescing assignment முதல் மதிப்பு undefined அல்லது null என்றால் இரண்டாவது மதிப்பை ஒதுக்குகிறது |
உலாவி ஆதரவு
ECMAScript 2020 ஏப்ரல் 2021 முதல் அனைத்து நவீன உலாவிகளிலும் ஆதரிக்கப்படுகிறது.
| Chrome | Edge | Firefox | Safari | Opera |
|---|---|---|---|---|
| 80 | 80 | 80 | 14.1 | 67 |
| பிப்ரவரி 2020 | பிப்ரவரி 2020 | ஆகஸ்ட் 2020 | ஏப்ரல் 2021 | மார்ச் 2020 |
JavaScript BigInt
JavaScript BigInt மாறிகள் ஒரு சாதாரண JavaScript Number மூலம் பிரதிநிதித்துவப்படுத்த முடியாத பெரிய முழு எண் மதிப்புகளை சேமிக்க பயன்படுத்தப்படுகின்றன.
JavaScript முழு எண்கள் சுமார் 15 இலக்கங்கள் வரை மட்டுமே துல்லியமானவை.
முழு எண் எடுத்துக்காட்டு
let x = 999999999999999;
let y = 9999999999999999; // too big
BigInt எடுத்துக்காட்டு
let x = 9999999999999999;
let y = 9999999999999999n;
ஒரு BigInt ஐ உருவாக்க, ஒரு முழு எண்ணின் முடிவில் n ஐச் சேர்க்கவும் அல்லது BigInt() ஐ அழைக்கவும்:
எடுத்துக்காட்டு
let x = 1234567890123456789012345n;
let y = BigInt(1234567890123456789012345)
ஒரு BigInt இன் JavaScript typeof "bigint":
எடுத்துக்காட்டு
let x = BigInt(999999999999999);
let type = typeof x;
JavaScript String matchAll()
ES2020 க்கு முன் ஒரு சரத்தில் ஒரு சரத்தின் அனைத்து நிகழ்வுகளையும் தேட பயன்படுத்தக்கூடிய சரம் முறை எதுவும் இல்லை.
எடுத்துக்காட்டு
const iterator = text.matchAll("Cats");
அளவுரு ஒரு வழக்கமான வெளிப்பாடாக இருந்தால், உலகளாவிய கொடி (g) அமைக்கப்பட வேண்டும், இல்லையெனில் TypeError வீசப்படும்.
எடுத்துக்காட்டு
const iterator = text.matchAll(/Cats/g);
வழக்கு உணர்திறன் அல்லாததாக தேட விரும்பினால், உணர்திறன் அல்லாத கொடி (i) அமைக்கப்பட வேண்டும்:
எடுத்துக்காட்டு
const iterator = text.matchAll(/Cats/gi);
குறிப்பு:
ES2021 சரம் முறை replaceAll() ஐ அறிமுகப்படுத்தியது.
Nullish Coalescing ஆபரேட்டர் (??)
?? ஆபரேட்டர் முதல் செயலிழப்பு nullish அல்ல என்றால் அதைத் திருப்பித் தரும். இல்லையெனில் இரண்டாவது திருப்பித் தரும்.
முதல் செயலிழப்பு nullish என்றால் ?? ஆபரேட்டர் இரண்டாவது செயலிழப்பைத் திருப்பித் தரும்.
Nullish என்பது null அல்லது undefined ஐ விவரிக்கும் ஒரு சொல்.
?? ஆபரேட்டர் இயல்புநிலை மதிப்புகளை வழங்க பயன்படுகிறது மற்றும் தருக்க OR ஆபரேட்டர் || இலிருந்து வேறுபட்டது, ஏனெனில் இது null மற்றும் undefined மட்டுமே "nullish" ஆக கருதுகிறது மற்றும் 0 அல்லது காலி சரம் போன்ற பிற "falsy" மதிப்புகளை புறக்கணிக்கிறது.
எடுத்துக்காட்டு
let name = null;
let text = "missing";
let result = name ?? text;
Optional Chaining ஆபரேட்டர் (?.)
Optional Chaining ஆபரேட்டர் ஒரு பொருள் பண்பு undefined அல்லது null என்றால் undefined திருப்பித் தரும் (பிழையை வீசுவதற்குப் பதிலாக).
எடுத்துக்காட்டு
const car = {type:"Fiat", model:"500", color:"white"};
let name = car?.name;
Optional chaining பொருள் பண்புகளில் மட்டுமல்ல, செயல்பாடு அழைப்புகள் மற்றும் வரிசைகளிலும் செயல்படுகிறது.
செயல்பாடு அழைப்புகள்
| பயன்பாட்டு வழக்கு | தொடரியல் | நடத்தை |
|---|---|---|
| பாதுகாப்பான செயல்பாடு அழைப்பு | obj.method?.() |
முறை இல்லையென்றால் undefined திருப்பித் தரும் |
| திருப்பித் தரும் கையாளுதல் | let x = fn?.() |
fn இல்லையென்றால் x undefined |
வரிசைகள்
| பயன்பாட்டு வழக்கு | தொடரியல் | திருப்பித் தரும் |
|---|---|---|
| பாதுகாப்பான உறுப்பு அணுகல் | arr?.[2] |
arr null அல்லது undefined என்றால் undefined |
| உறுப்பில் பாதுகாப்பான பண்பு | arr?.[1]?.name |
பாதுகாப்பாக undefined திருப்பித் தரும் |
| பாதுகாப்பான முறை அழைப்பு | arr?.map(fn) |
arr இல்லையென்றால் undefined திருப்பித் தரும் |
| இயல்புநிலை மதிப்பு வீழ்ச்சி | arr?.[0] ?? "N/A" |
arr அல்லது உறுப்பு காணவில்லை என்றால் "N/A" திருப்பித் தரும் |
&&= ஆபரேட்டர்
Logical AND Assignment ஆபரேட்டர் இரண்டு மதிப்புகளுக்கு இடையே பயன்படுத்தப்படுகிறது.
முதல் மதிப்பு true என்றால், இரண்டாவது மதிப்பு ஒதுக்கப்படும்.
Logical AND Assignment எடுத்துக்காட்டு
let x = 10;
x &&= 5;
||= ஆபரேட்டர்
Logical OR Assignment ஆபரேட்டர் இரண்டு மதிப்புகளுக்கு இடையே பயன்படுத்தப்படுகிறது.
முதல் மதிப்பு false என்றால், இரண்டாவது மதிப்பு ஒதுக்கப்படும்.
Logical OR Assignment எடுத்துக்காட்டு
let x = 10;
x ||= 5;
??= ஆபரேட்டர்
Nullish Coalescing Assignment ஆபரேட்டர் இரண்டு மதிப்புகளுக்கு இடையே பயன்படுத்தப்படுகிறது.
முதல் மதிப்பு undefined அல்லது null என்றால், இரண்டாவது மதிப்பு ஒதுக்கப்படும்.
Nullish Coalescing Assignment எடுத்துக்காட்டு
let x;
x ??= 10;
JavaScript Promise.allSettled()
Promise.allSettled() முறை Promiseகளின் பட்டியலிலிருந்து ஒற்றை Promise ஐத் திருப்பித் தரும்.
எடுத்துக்காட்டு
// Create a Promise
const myPromise1 = new Promise((resolve, reject) => {
setTimeout(resolve, 200, "King");
});
// Create another Promise
const myPromise2 = new Promise((resolve, reject) => {
setTimeout(resolve, 100, "Queen");
});
// Settle All
Promise.allSettled([myPromise1, myPromise2]).then((results) =>
results.forEach((x) => myDisplay(x.status)),
);
குறிப்பு:
Promise.allSettled() என்பது "அனைத்து Promiseகளையும் இயக்கவும். முடிவுகள் பற்றி எனக்குக் கவலையில்லை" என்று பொருள்.
JavaScript Dynamic Import
Dynamic Import என்பது உங்கள் நிரலின் தொடக்கத்தில் அல்ல, இயக்க நேரத்தில் JavaScript தொகுதிகளை ஏற்றுவதற்கான ஒரு வழியாகும்.
தொடரியல்
import("./module.js")
- வாதம் ஒரு பாதைக்கு தீர்க்கும் சரம் அல்லது வெளிப்பாடாக இருக்க வேண்டும்
- நீங்கள் தொகுதி ஸ்கிரிப்டின் (
<script type="module">) உள்ளே இறக்குமதியை இயக்க வேண்டும்
நிலையான இறக்குமதிகளைப் போலன்றி (இது ஒரு கோப்பின் மேல் தோன்ற வேண்டும்), டைனமிக் இறக்குமதிகள் எங்கும் பயன்படுத்தப்படலாம் - செயல்பாடுகளுக்குள், நிபந்தனைகளுக்குள், நிகழ்வு கையாளிகள், போன்றவை.
| வகை | எடுத்துக்காட்டு | எப்போது ஏற்றப்படும் |
|---|---|---|
| நிலையானது | import { add } from './math.js'; |
ஏற்ற நேரத்தில் |
| டைனமிக் | const math = await import('./math.js'); |
தேவைப்படும் போது |
ECMAScript 2020 பயிற்சி
இந்த பயிற்சி உங்கள் ECMAScript 2020 புதிய அம்சங்கள் பற்றிய அறிவைச் சோதிக்க உதவும்.